/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.ufc.quixada.adrs.comandos.adrs;

import br.ufc.quixada.adrs.interfaces.Comando;
import br.ufc.quixada.adrs.model.Adrs;
import br.ufc.quixada.adrs.model.Produtor;
import br.ufc.quixada.adrs.model.Visita;
import br.ufc.quixada.adrs.service.VisitaService;
import br.ufc.quixada.adrs.util.Msg;
import br.ufc.quixada.adrs.util.UtilAdrs;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 *
 * @author Caio
 */
public class CmdAdrsBuscarVisita implements Comando {

    public String executa(HttpServletRequest request, HttpServletResponse response) {
        VisitaService visS = new VisitaService();
        HttpSession session = request.getSession();
        Adrs adrs = (Adrs) session.getAttribute("user");
        Produtor p = (Produtor) session.getAttribute("produtor");
        String nome = request.getParameter("nome_busca");

        if (nome == null || nome.trim().equals("")) {
            List<Visita> vis = visS.getVisitasByProdutorEAdrs(p.getId(), adrs.getId());
            if (vis == null || vis.isEmpty()) {
                session.setAttribute("erro", Msg.NOT_FOUND_ERROR_VISITAS);
            } else {
                session.setAttribute("visitas", vis);
            }
        } else {
            List<Visita> visitas = visS.getVisitasByProdutorEAdrs(p.getId(), adrs.getId());
            for (int i = 0; i < visitas.size(); i++) {
                Visita v = visitas.get(i);
                if (!UtilAdrs.treatToString(v.getData()).contains(nome)) {
                    visitas.remove(v);
                    i--;
                }
            }
            if (visitas == null || visitas.isEmpty()) {
                session.setAttribute("erro", Msg.NOT_FOUND_ERROR_VISITAS);
            } else {
                session.setAttribute("visitas", visitas);
            }
        }
        return "/adrs/adrs_listar_visitas.jsp";
    }
}
